import {emojiMap, emojiUrl} from './emojiMap'

/** 传入messageBody（群系统消息SystemMessage，群提示消息GroupTip除外）
 * payload = {
 *  msgType: 'TIMTextElem',
 *  msgContent: {
 *    text: 'AAA[龇牙]AAA[龇牙]AAA[龇牙AAA]'
 *  }
 *}
 **/
export function decodeText(payload) {
    let renderDom = []
    // 文本消息
    let temp = payload.text
    temp = temp.split('··')
    if (temp[1]) {
        temp = temp[1]
    }else{
        temp = payload.text
    }
    if (!temp) return ""
    let left = -1
    let right = -1
    while (temp !== '') {
        left = temp.indexOf('[')
        right = temp.indexOf(']')
        switch (left) {
            case 0:
                if (right === -1) {
                    renderDom.push({
                        name: 'text',
                        text: temp
                    })
                    temp = ''
                } else {
                    let _emoji = temp.slice(0, right + 1)
                    if (emojiMap[_emoji]) {
                        renderDom.push({
                            name: 'img',
                            src: emojiUrl + emojiMap[_emoji]
                        })
                        temp = temp.substring(right + 1)
                    } else {
                        renderDom.push({
                            name: 'text',
                            text: '['
                        })
                        temp = temp.slice(1)
                    }
                }
                break
            case -1:
                renderDom.push({
                    name: 'text',
                    text: temp
                })
                temp = ''
                break
            default:
                renderDom.push({
                    name: 'text',
                    text: temp.slice(0, left)
                })
                temp = temp.substring(left)
                break
        }
    }
    return renderDom
}
